/**
 * @file filters
 */

import moment from 'moment';
import {THE_MOMENT_YYYYMMDD_HHMMSS, THE_MOMENT_YYMMDD} from '@/utils/constant';

/**
 *
 * @param {number} val 过滤 给不足两位小数点的数字补零
 */
export function keep2decimalPlaces(val) {
    let value = val;
    if (typeof val === 'number') {
        value = val.toFixed(2);
    }
    return value;
}

// 获取账单颜色
export function getBillStatusColor(status) {
    switch (status) {
        case 1: {
            return 'bill-outstanding';
        }
        case 2: {
            return 'bill-finish';
        }
        case 3: {
            return 'bill-overdue';
        }
    }
    return '';
}
// 获取账单颜色
export function getBillStatusText(status) {
    switch (status) {
        case 1: {
            return '还款中';
        }
        case 2: {
            return '已结清';
        }
        case 3: {
            return '已逾期';
        }
    }
    return '总计';
}

/**
 *
 * @param {string,Date} value 日期对象或者字符串
 * @returns 格式后的日期
 */
export function formatDateFillStr(value) {
    if (!value) {
        return value;
    }
    return moment(value).format(THE_MOMENT_YYYYMMDD_HHMMSS);
}
/**
 *
 * @param {string,Date} value 日期对象或者字符串
 * @returns 格式后的日期
 */
export function formatShortDate(value) {
    if (!value) {
        return value;
    }
    return moment(value).format(THE_MOMENT_YYMMDD);
}
/**
 *
 * @param {Object} value 返回下拉菜单的label
 * @returns 返回要展示的名称
 */
export function findValue({id: personId, arr: persons, value = '_id', prop = 'name'}) {
    const person = persons.find(person => person[value] === personId);
    return person && person[prop];
}

// {value: '1', label: '收入'},
// {value: '2', label: '支出'},
// {value: '3', label: '转账付款'},
// {value: '4', label: '转账收款'},
// {value: '5', label: '转账'}
// {text: '期初金额', value: ''}
// 账户统计 - 转账类型
export function showAccountPlayType(value) {
    const obj = {
        '1': 'success',
        '2': 'danger',
        '3': 'warning',
        '4': 'warning',
        '5': 'warning'
    };
    return obj[value];
}

export function showAccountPlayDescType(value) {
    const obj = {
        '1': '收入',
        '2': '支出',
        '3': '转账付款',
        '4': '转账收款',
        '5': '转账'
    };
    return obj[value];
}
export function showPassStatus(value) {
    const obj = {
        '0': '未审核',
        '1': '审核通过'
    };
    return obj[value];
}
export function showPassStatusTag(value) {
    const obj = {
        '0': 'danger',
        '1': 'success'
    };
    return obj[value];
}
